307206 ランダム
 ホーム | 日記 | プロフィール 【フォローする】 【ログイン】

giru0116のブログ

giru0116のブログ

第21章解答

解答例
1

#include<stdio.h>

void array(int [][3]);

int main()
{
	int tensu[4][3];
	
	array(tensu);
	
	return 0;
}

void array(int a[][3])
{
	int i, j, sum[4];
	double average[4];
	char buffer[10];
	char kyouka[3][10] = {"国語", "数学", "英語"};
	
	for(i = 0; i < 4; ++i) {
		sum[i] = 0;
		average[i] = 0.0;
	}
	
	for(i = 0; i < 4; ++i) {
		for(j = 0; j < 3; ++j) {
			printf("%d人目の%sの点数--->", i + 1, kyouka[j]);
			fgets(buffer, sizeof(buffer), stdin);
			sscanf(buffer, "%d", &a[i][j]);
			sum[i] += a[i][j];
		}
		average[i] = sum[i] / 3.0;
		printf("\n");
	}
	
	for(i = 0; i < 4; ++i) {
		for(j = 0; j < 3; ++j) {
			printf("%d人目の%sの点数は%dです\n", i + 1,
					kyouka[j], a[i][j]);
		}
		printf("%d人目の3教科の合計点は%dです\n", i + 1, sum[i]);
		printf("%d人目の3教科の平均点は%fです\n\n", i + 1, average[i]);
	}
	
	return;
}


















2

#include<stdio.h>

int main()
{
	char week[7][10] = {
		"日曜日",
		"月曜日",
		"火曜日",
		"水曜日",
		"木曜日",
		"金曜日",
		"土曜日"
	}; /* 日~土曜日をchar型二次元配列に格納 */
	
	char buffer[5];
	int day;
	
	printf("ある月の曜日計算プログラム(1~31日まで)\n\n");
	
	printf("何日ですか--->");
	fgets(buffer, sizeof(buffer), stdin);
	sscanf(buffer, "%d", &day);
	
	if(day <= 0 || day >= 32)
		printf("\nそのような日は存在しません\n");
	else
		printf("\n%d日は%sです\n", day, week[day % 7]);
	
	return 0;
}



























3

#include<stdio.h>

int main()
{
	char week[7][10] = {
		"土曜日",
		"日曜日",
		"月曜日",
		"火曜日",
		"水曜日",
		"木曜日",
		"金曜日"
	};
	
	char buffer[5];
	int day, month;
	int month_day[12] = {0, 31, 59, 90, 120, 151, 
				181, 212, 243, 273, 304, 334};
	
	printf("2006年のある日の曜日計算プログラム\n\n");
	
	printf("何月ですか--->");
	fgets(buffer, sizeof(buffer), stdin);
	sscanf(buffer, "%d", &month);
	
	printf("何日ですか--->");
	fgets(buffer, sizeof(buffer), stdin);
	sscanf(buffer, "%d", &day);
	
	if(day <= 0 || day >= 32)
		printf("\nそのような日は存在しません\n");
	else
		printf("\n%d月%d日は%sです\n", month, day, week[(day + month_day[month - 1]) % 7]);
	
	return 0;
}


© Rakuten Group, Inc.